InmoControl Pro › Dashboard
IC
+3
24
Propiedades
100%
18
Contratos activos
+8.4%
$4.8M
Ingresos mensuales
+2
3
En mora

Dashboard completo (módulo existente sin cambios)

+4 sem
23
Clientes activos
7
Visitas programadas
4
En negociación
mes
3
Cierres este mes
Contacto inicial
6
hoy
Martín Aldazábal
Busca depto 2 amb. zona centro
Alquiler2 ambCentro
$200-250k Llamar hoy
ayer
Carla Iturriaga
Casa barrio norte, 3 dorm
CompraCasa
USD 85.000📧 Email env.
Roberto Funes
Local comercial av. principal
AlquilerComercial
$300-400k
Visita programada
7
Hoy 15:00
Sandra Méndez
Depto Centro 3B — San Martín 450
AlquilerMatch ✓
$180.000 Confirmada
Lucas Pereyra
Casa Barrio Norte
AlquilerMatch ✓
$250.000Mañana 10:00
Propuesta enviada
4
Familia Rodríguez
Local Comercial Bolívar
Alquiler Comercial
$320.000Esperando resp.
Ing. Costantini
Lote B4 — Loteo Norte
CompraTerreno
USD 12.0003 días
En negociación
4
Dra. Villanueva
Consultorio zona médica
AlquilerComercial
$350.000⚡ Urgente
Cerrado
3
✓ Ana Pérez
Depto Centro 3B
$180.000Mar 2025
No concretado
2
✗ Jorge Bustos
Casa Barrio Norte
Motivo: precio
Gestión de acceso al Portal Inquilino — Los inquilinos pueden ver su estado de cuenta, pagar y subir comprobantes desde el celular
¿Qué puede ver el inquilino en su portal?
✅ Estado de cuenta al día
✅ Próximo vencimiento de alquiler
✅ Saldo pendiente / en mora
✅ Servicios que vencen este mes
✅ Recibos de pago generados
✅ Historial de pagos
✅ Subir comprobantes de servicios
✅ Descargar contrato
❌ Datos de otros inquilinos
❌ Info financiera de la inmobiliaria

📈 Rentabilidad & Inteligencia de Riesgo

Cruce AFIP · Morosidad · Proyección financiera · Score inquilinos · Usuarios de riesgo

$4.8M
Ingresos/mes
↑ +8.4%
94%
Ocupación
↑ +2%
3
Riesgo alto
↑ +1
Score Global Cartera
742 SCORE / 1000
🟢 Cartera Saludable
18 contratos · 3 alertas activas
KPIs de Rentabilidad
Tasa de ocupación94%
Pago en término80%
Mora 1–30 días13%
Mora +60 días7%
⚡ Alertas críticas
🚨
Roberto Sánchez — +90 días mora
$750.000 acumulado · Riesgo Crítico
⚠️
AFIP — Inconsistencia detectada
2 inquilinos sin declarar alquiler
📊
Score bajo — Lucía Fernández
Score 310 · 3 contratos incumplidos
Resumen — Estado de riesgo por inquilino
InquilinoPropiedadAlquilerScore Fin.Score Cont.AFIPMoraRiesgo
Ana Pérez
3446-612345
Depto Centro 3B$180.000820A+✓ OKAl día🟢 Bajo
Roberto Sánchez
3446-723456
Casa Barrio Norte$250.000290D⚠ Revisión+90 días🔴 Crítico
Lucía Fernández
3446-834567
PH Urquiza$290.000310C✗ Incons.35 días🟠 Alto
Marcos Giménez
3446-945678
Depto Norte 2A$210.000560B-✓ OK15 días🟡 Medio
Módulo IA integrado desde v4 — Para activar el Asistente IA configurá tu API Key de Claude en Configuración

🤖 Asistente IA Inmobiliaria

Tu asesor inteligente para decisiones, mercado y control

${iaMessages.length === 0 ? `
¡Hola! 👋 Soy tu Asistente IA Inmobiliario.

Puedo ayudarte con:
📈 Análisis de mercado y previsión de cambios
💰 Estrategias para mejorar tus ingresos
⚖️ Optimización de honorarios y reajustes
🏠 Control de cartera y ocupación
📋 Gestión de cobranzas y morosidad

¿En qué te puedo ayudar hoy?
` : iaMessages.map(m => `
${m.content.replace(/\n/g,'
').replace(/\*\*(.*?)\*\*/g,'$1')}
`).join('')} ${iaLoading ? `
` : ''}
💰 Mejorar ingresos 📊 Analizar cartera 📈 Reajuste óptimo ⚠️ Gestionar mora 🏘️ Mercado Argentina 🏠 Ocupación

Tu cartera actual

${propiedades.length}
Propiedades
${ocupacion}%
Ocupación
${fmtMoney(totalIngresos)}
Ingresos/mes
${fmtMoney(totalComisiones)}
Honorarios/mes
${moraCount > 0 ? `
${moraCount} en mora
Pagos vencidos
` : `
✅ Sin morosidad
`}

Preguntas frecuentes

Módulo integrado desde InmoControl Pro v4

${p.nombre}

📍 ${p.direccion}, ${p.ciudad}

Alquiler
${fmtMoney(p.alquiler)}
Honorarios
${p.comision || config.comisionGlobal}%
Neto propietario
${fmtMoney(p.alquiler - comision)}

👤 Propietario

${p.propietarioNombre || 'No asignado'}
📱 ${p.propietarioTelefono || '—'} | ✉️ ${p.propietarioEmail || '—'}
🆔 ${p.propietarioDni || '—'} | 🏦 ${p.propietarioBanco || '—'}

📸 Galería (${p.fotos?.length || 0})

Subir fotos
${inquilino ? `

👤 Inquilino

${inquilino.nombre} ${inquilino.apellido}
📱 ${inquilino.telefono} | ✉️ ${inquilino.email}
💰 Depósito: ${fmtMoney(inquilino.deposito)}
` : ''}
`; } return `

🏠 Propiedades

${filtradas.map(p => `
${p.fotos && p.fotos[0] ? `📷 ${p.fotos.length}` : ''}
${p.nombre}
📍 ${p.direccion}
${fmtMoney(p.alquiler)}/mes
${p.estado}Honorarios: ${p.comision || config.comisionGlobal}%
👤 Propietario
${p.propietarioNombre || 'Sin propietario'}
${p.propietarioTelefono ? `📱 ${p.propietarioTelefono}` : ''}${p.propietarioEmail ? ` | ✉️ ${p.propietarioEmail}` : ''}${p.propietarioDni ? `
🆔 ${p.propietarioDni}` : ''}${p.propietarioBanco ? ` | 🏦 ${p.propietarioBanco}` : ''}
`).join('')}
Módulo integrado desde InmoControl Pro v4

👥 Inquilinos

${inquilinos.map(i => { const propiedad = propiedades.find(p => p.inquilinoId === i.id); const pagosPendientes = i.historialPagos?.filter(p => p.estado === 'Pendiente').length || 0; const pagosMora = i.historialPagos?.filter(p => p.estado === 'Mora').length || 0; const contratoActivo = i.contratoFin && new Date(i.contratoFin) > new Date(); const diasReajuste = i.proximoReajuste ? daysDiff(i.proximoReajuste) : null; const diasVencimiento = i.contratoFin ? daysDiff(i.contratoFin) : null; const contratoUrgente = diasVencimiento !== null && diasVencimiento <= 30; const reajusteUrgente = diasReajuste !== null && diasReajuste <= 30; const reajusteVencido = diasReajuste !== null && diasReajuste < 0; let borderColor = '#10b981'; if (pagosMora > 0) borderColor = '#ef4444'; else if (pagosPendientes > 0) borderColor = '#f59e0b'; else if (contratoUrgente) borderColor = '#06b6d4'; else if (reajusteUrgente) borderColor = '#f59e0b'; else if (reajusteVencido) borderColor = '#ef4444'; return `
${i.nombre[0]}${i.apellido[0]}
${i.nombre} ${i.apellido}
📱 ${i.telefono}
✉️ ${i.email}
📍 ${i.direccion}
📄 Contrato
${fmtDate(i.contratoInicio)} - ${fmtDate(i.contratoFin)}
💰 Depósito: ${fmtMoney(i.deposito)}
📅 Reajuste cada ${i.periodoReajuste || config.reajusteMeses} meses (${i.indiceReajuste || config.indiceReajuste})
Próximo reajuste: ${fmtDate(i.proximoReajuste)} ${reajusteVencido ? '⚠️ VENCIDO' : (reajusteUrgente && diasReajuste > 0 ? `⏰ en ${diasReajuste} días` : '')}
${contratoActivo ? `✅ Activo` : `⚠️ Vencido`}${contratoUrgente && contratoActivo ? `
⏳ Contrato vence en ${diasVencimiento} días
` : ''}
${propiedad ? `
🏠 ${propiedad.nombre}
${fmtMoney(propiedad.alquiler)}/mes
` : ''}
✅ ${i.historialPagos?.filter(p => p.estado === 'Pagado').length || 0}⏳ ${pagosPendientes}⚠️ ${pagosMora}
`; }).join('')}
Propietarios registrados
PropietarioPropiedadesTeléfonoEmailCBUAcciones
CR
Carlos Rodríguez
DNI: 22.345.678
Depto Centro 3B · Local Bolívar 3446-415234 carlos@email.com 000...0001
MG
María González
DNI: 28.901.234
Casa Barrio Norte 3446-502345 maria@email.com 000...0002
Módulo integrado desde InmoControl Pro v4

💳 Cobranza Remota

Gestione alias y portal de pago para cada inquilino

¿Cómo funciona?

Cada inquilino recibe un alias y contraseña únicos. Con eso accede al portal para ver su facturación, estado de pagos, datos de la vivienda y hacer transferencias.

${inquilinos.length === 0 ? `

No hay inquilinos registrados todavía.

` : inquilinos.map(inq => { const prop = propiedades.find(p => p.inquilinoId === inq.id); const cfg = aliasDB[inq.id] || {}; const tieneAlias = !!cfg.alias; return `
${inq.nombre} ${inq.apellido}
📱 ${inq.telefono}  |  ✉️ ${inq.email}
${prop ? `
🏠 ${prop.nombre} — ${fmtMoney(prop.alquiler)}/mes
` : '
⚠️ Sin propiedad asignada
'}
${tieneAlias ? `✅ ALIAS: ${cfg.alias}` : `Sin alias`}
${tieneAlias ? ` ` : ''} ${cfg.alias ? `` : ''}
`; }).join('')}

🏦 Datos globales de transferencia

Estos datos se usan por defecto si no configurás uno por inquilino.

Módulo integrado desde InmoControl Pro v4

💰 Gestión de Caja

${tabs.map(t=>``).join('')}
${cajaTab==='resumen'?_cajResumen(saldo,ingresos,egresos):cajaTab==='movimientos'?_cajMovimientos():cajaTab==='recibos'?_cajRecibos():_cajFacturas()}
Módulo integrado desde InmoControl Pro v4

🔄 Transacciones

SALDO TOTAL
${fmtMoney(total)}
INGRESOS
${fmtMoney(ingresos)}
EGRESOS
${fmtMoney(egresos)}
OPERACIONES
${transacciones.length}
${['todas','ingreso','egreso'].map(f=>``).join('')}
${filtradas.length===0?``:filtradas.slice().reverse().map(t=>` `).join('')}
FECHADESCRIPCIÓNCATEGORÍATIPOMONTOACC.
Sin transacciones
${t.fecha||'—'} ${t.descripcion||'—'} ${t.categoria||'—'} ${t.tipo==='ingreso'?'Ingreso':'Egreso'} ${t.tipo==='ingreso'?'+':'-'}${fmtMoney(t.monto)}
Módulo integrado desde InmoControl Pro v4

🏷️ Ventas

${datos.length === 0 ? `

No hay ${ventasTab === 'propiedades' ? 'propiedades' : 'terrenos'} en venta

Haz clic en "Nueva Publicación" para agregar uno

` : datos.map(v => renderVentaCard(v)).join('')}
Módulo integrado desde InmoControl Pro v4

🗺️ Gestión de Loteo

TOTAL LOTES
${lotes.length}
DISPONIBLES
${disponibles}
RESERVADOS
${reservados}
VENDIDOS
${vendidos}
${lotes.length===0?`
Sin lotes registrados.
`: lotes.map((l,i)=>`
${l.nombre||'Lote '+(i+1)}
Mza. ${l.manzana||'—'} · Lote N° ${l.numero||'—'}
${l.estado||'Disponible'}
${l.superficie||'—'} m²
Superficie
${l.frente||'—'} m
Frente
${fmtMoney(l.precio||0)}
Precio
${l.comprador?`
${l.comprador}
`:''}
`).join('')}
Módulo integrado desde InmoControl Pro v4

🏢 Administración de Consorcios

CONSORCIOS
${consorcios.length}
TOTAL EXPENSAS
${fmtMoney(totalExp)}
CUOTAS PENDIENTES
${pendientes}
${consorcios.length>0?`

Edificios

${consorcios.map((c,i)=>`
${c.nombre||'Consorcio '+(i+1)}
${c.direccion||'—'}
${c.unidades||0}
Unidades
${c.pisos||0}
Pisos
${fmtMoney(c.expensaBase||0)}
Exp.base
${c.administrador?`
Adm: ${c.administrador}
`:''} ${c.cuit?`
CUIT: ${c.cuit}
`:''}
`).join('')}
`:''}

Expensas y Gastos Comunes

${expensas.length===0?``:expensas.slice().reverse().map(e=>` `).join('')}
CONSORCIOPERÍODOCONCEPTOUNIDADMONTOESTADOACC.
Sin expensas registradas
${e.consorcio||'—'} ${e.periodo||'—'} ${e.concepto||'—'} ${e.unidad||'—'} ${fmtMoney(e.monto||0)} ${e.estado||'Pendiente'}
Módulo integrado desde InmoControl Pro v4

🏖️ Alquileres Temporales

PROPIEDADES
${temporales.length}
OCUPADAS HOY
${ocupadas}
PEND. CONFIRMAR
${pendConf}
INGRESO MES
${fmtMoney(ingMes)}
${temporales.length>0?`

Propiedades

${temporales.map((p,i)=>`
${p.nombre||'Propiedad '+(i+1)}
📍 ${p.ubicacion||'—'}
${p.capacidad||0}
Personas
${p.ambientes||0}
Ambientes
${fmtMoney(p.precioPorNoche||0)}
/ noche
${p.servicios?`
🔧 ${p.servicios}
`:''}
`).join('')}
`:''}

Reservas

${reservasTemp.length===0?`
Sin reservas registradas
`: reservasTemp.slice().reverse().map(r=>{ const idx=reservasTemp.indexOf(r); const noches=r.entrada&&r.salida?Math.round((new Date(r.salida)-new Date(r.entrada))/(86400000)):0; const color=r.estado==='Confirmada'?'#10b981':r.estado==='Pendiente'?'#f59e0b':'#ef4444'; const badgeC=r.estado==='Confirmada'?'badge-green':r.estado==='Pendiente'?'badge-yellow':'badge-red'; return `
${r.huesped||'Huésped'}
${r.propiedad||'—'}
${r.estado||'Pendiente'}
Entrada
${r.entrada||'—'}
Salida
${r.salida||'—'}
Noches
${noches}
Total
${fmtMoney(r.total||0)}
📞 ${r.telefono||'—'}  ·  👥 ${r.personas||1} personas
${r.sena?`
💰 Seña: ${fmtMoney(r.sena)}
`:''} ${r.observaciones?`
${r.observaciones}
`:''}
`;}).join('')}
Módulo integrado desde InmoControl Pro v4

🤝 CRM — Gestión de Clientes

${['todos',...ETAPAS_CRM].map(e=>``).join('')}
${filtrados.length===0?`
Sin contactos en esta etapa
`: filtrados.map(c=>{ const idx=contactosCRM.indexOf(c); const colorEtapa=c.etapa==='Cerrado'?'badge-green':c.etapa==='Perdido'?'badge-red':c.etapa==='Negociación'?'badge-yellow':'badge-blue'; return `
${(c.nombre||'?')[0].toUpperCase()}
${c.nombre||'Sin nombre'}
${c.tipo||'Comprador'} · ${c.origen||''}
${c.etapa||'Nuevo Lead'}
${c.telefono||'—'}
${c.email||'—'}
${c.interes?`
${c.interes}
`:''} ${c.presupuesto?`
Presupuesto: ${fmtMoney(c.presupuesto)}
`:''} ${c.observaciones?`
${c.observaciones}
`:''}
`;}).join('')}
Módulo integrado desde InmoControl Pro v4
Agenda Profesional
Filtrar:
Citas
Pagos
Moras
Mantenimiento
Reajustes
Visitas
${contenido}
${miniCal} ${resumen}
Módulo integrado desde InmoControl Pro v4

🤖 Asistente IA Inmobiliaria

Tu asesor inteligente para decisiones, mercado y control

${iaMessages.length === 0 ? `
¡Hola! 👋 Soy tu Asistente IA Inmobiliario.

Puedo ayudarte con:
📈 Análisis de mercado y previsión de cambios
💰 Estrategias para mejorar tus ingresos
⚖️ Optimización de honorarios y reajustes
🏠 Control de cartera y ocupación
📋 Gestión de cobranzas y morosidad

¿En qué te puedo ayudar hoy?
` : iaMessages.map(m => `
${m.content.replace(/\n/g,'
').replace(/\*\*(.*?)\*\*/g,'$1')}
`).join('')} ${iaLoading ? `
` : ''}
💰 Mejorar ingresos 📊 Analizar cartera 📈 Reajuste óptimo ⚠️ Gestionar mora 🏘️ Mercado Argentina 🏠 Ocupación

Tu cartera actual

${propiedades.length}
Propiedades
${ocupacion}%
Ocupación
${fmtMoney(totalIngresos)}
Ingresos/mes
${fmtMoney(totalComisiones)}
Honorarios/mes
${moraCount > 0 ? `
${moraCount} en mora
Pagos vencidos
` : `
✅ Sin morosidad
`}

Preguntas frecuentes

Módulo integrado desde InmoControl Pro v4

📊 Exportar Datos con Fórmulas

Los archivos exportados incluyen múltiples secciones, fórmulas de Excel y cálculos automáticos.

Propiedades

Inquilinos

Historial Pagos

Honorarios

Alertas Reajustes

📈 Resumen Ejecutivo

Total Ingresos Mensuales: ${fmtMoney(totalIngresos)}
Total Honorarios: ${fmtMoney(totalComisiones)}
Propiedades Ocupadas: ${ocupadas}
Pagos Pendientes: ${pagosPendientes}
Módulo integrado desde InmoControl Pro v4

⚙️ Configuración

${config.logo ? `` : ''}

Click para cambiar logo

Ingresá tu API key de Anthropic para activar el asistente IA. Obtené una en console.anthropic.com

AP
CR